XBIOS Calls via Trap 14

#include osbind.h>

void Bioskeys(); Reset to initial keyboard mapping tables.

short Blitmode(short flag); Configure the blitter chip.

short Cursconf(short rate, short attr); Configure the cursor and blinking speed.

void Dosound(void &sstarf#star;ptr); Output a number of bytes to the soundchip.

short Floprd(void &sstarf#star;buf, long filler, short drv, short sect, short trk, short side, short n); Read physically n sectors from floppy drive drv.

short Flopwr(void &sstarf#star;buf, long filler, short drv, short sect, short trk, short side, short n); Write physically n sectors to floppy drive drv.

short Flopfmt(void &sstarf#star;buf, long filler, short drv, short spt, short trk, short side, short i, long m, short v); Format track trk on drive drv with spt sectors per track.

short Flopver(void &sstarf#star;buf, long filler, short drv, short spt, short trk, short side, short n); Read a number of sectors and compare with memory.

short Getrez(); Get the current display resolution (0 = low, 1 = mid, 2 = high).

long Gettime(); Get the time from the hardware clock (lower word = time, upper word = date).

short Giaccess(short data, short reg); Get or set a register of the GI sound chip. Set bit 8 of reg for write operation.

void Ikbdws(short cnt, void &sstarf#star;ptr); Write a sequence of cnt+1 bytes to the keyboard processor.

void Initmous(short type, void &sstarf#star;param, void &sstarf#star;vptr); Initialize the mouse cursor routines.

IOREC &sstarf#star;Iorec(short ioDEV); Get a pointer to a device specific buffer.

void Jdisint(short vnum); Disable interrupt vnum of the MFP 68901 chip.

void Jenabint(short vnum); Enable interrupt vnum of the MFP 68901 chip.

KBDVECS &sstarf#star;Kbdvbase(); Get a pointer to the KBDVECS structure.

short Kbrate(short delay, short reprate); Get or set keyboard repeat rate.

KEYTAB &sstarf#star;Keytbl(void &sstarf#star;nrml, void &sstarf#star;shft, void &sstarf#star;caps); Set the addresses of the keyboard mapping tables (-1 = don't change).

void &sstarf#star;Logbase(); Get the start address of the logical display memory.

void Mfpint(short vnum, void &sstarf#star;vptr); Set the interrupt vectors of the MFP 68901 chip.

void Midiws(short cnt, void &sstarf#star;ptr); Write a sequence of cnt+1 bytes to the MIDI-port.

void Offgibit(short ormask); Clear a bit in ``PORT A'' register of the GI chip.

void Ongibit(short andmask); Set a bit in ``PORT A'' register of the GI chip.

void &sstarf#star;Physbase(); Get the start address of the physical display memory.

void Protobt(void &sstarf#star;buf, long serial, short dsktyp, short exec); Create a boot sector in memory.

void Prtblk(void &sstarf#star;pblkptr); Special hardcopy routine, not unlike the Scrdmp() routine.

long Random(); Get a 24 bit random number.

long Rsconf(short baud, short flow, short uc, short rs, short ts, short sc); Set the communication parameters for the serial port. The return value is the current configuration of the four register of the UART.

void Scrdmp(); Dump the current screen to the printer.

short Setcolor(short colornum, short color); Get (color = -1) or set contents of color register.

void Setpalette(void &sstarf#star;palptr); Set the color palette of the video hardware.

short Setprt(short config); Get or set the current printer configuration.

=The bits of the return value are assigned as follows:

BitOffOn


0Matrix-Daisy Wheel printer 1colormonochrom 2Atari-Epson printer 3Draft-High quality 4Centronics-RS232 interface 5EndlessSingle sheet paper

void Setscreen(void &sstarf#star;lscrn, void &sstarf#star;pscrn, short rez); Set the logical and physical display memory start address and the current screen resolution.

void Settime(long time_date); Set the hardware clock to time_date(lower word = time, upper word = date.

void &sstarf#star;Ssbrk(short size); Reserve size bytes at the end of the physical memory (Dummy routine in all TOS versions).

long Supexec(void &sstarf#star;funcptr); Execute a subroutine in supervisor mode.

void Vsync(); Wait until the verical blank interrupt has bitten.

void Xbtimer(short timer, short ctrl, long data, void &sstarf#star;vptr); Set and start the MFP 68901 timer.